package com.xyingsoft.zp.zP_Board;

import com.xyingsoft.zp.zP_Board.listeners.PlayerEventListener;
import com.xyingsoft.zp.zP_Board.manager.DataManager;
import com.xyingsoft.zp.zP_Board.manager.ScoreboardManager;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

public final class ZP_Board extends JavaPlugin {
    private DataManager dataManager;
    private ScoreboardManager scoreboardManager;

    @Override
    public void onEnable() {
        // 加载配置文件
        saveDefaultConfig();
        
        // 初始化数据管理器
        dataManager = new DataManager(this);
        
        // 初始化计分板管理器
        scoreboardManager = new ScoreboardManager(this, dataManager);
        
        // 注册事件监听器
        PlayerEventListener eventListener = new PlayerEventListener(this, dataManager, scoreboardManager);
        Bukkit.getPluginManager().registerEvents(eventListener, this);
        
        // 启动消息
        getLogger().info("§a[ZP_Board] §e排行榜插件已成功加载！");
        getLogger().info("§a[ZP_Board] §e包含在线时长榜、挖掘榜、击杀榜、死亡榜和经验榜");
    }

    @Override
    public void onDisable() {
        // 保存所有数据
        if (dataManager != null) {
            dataManager.saveAllData();
        }
        
        // 关闭消息
        getLogger().info("§c[ZP_Board] §e排行榜插件已卸载，所有数据已保存");
    }
}
